package com.yxinsur.imc.business.vo;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.yxinsur.imc.common.annotation.Excel;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.math.BigDecimal;
import java.util.Date;
import java.util.Map;

/**
 * 手续费清单对象 imc_recn_supplier_details
 *
 * @author imc
 * @date 2021-05-14
 */
@Data
@EqualsAndHashCode(callSuper = false)
public class RecnDetailsCheckVo {
    private static final long serialVersionUID = 1L;
    @Excel(name = "主表ID")
    private Long recnId;

    @Excel(name = "L表ID")
    private Long recnDetailsId;

    @Excel(name = "S表ID")
    private Long recnSupplierDetailsId;

    @Excel(name = "险种保费ID")
    private Long orderRiskId;

    @Excel(name = "协议费用科目ID")
    private Long contractExpenseId;

    @Excel(name = "动态列：费用科目")
    private Map<String, Object> dynamicFieldMap;

    @Excel(name = "系统保单号")
    private String policyCodeL;

    @Excel(name = "供应商保单号")
    private String policyCodeS;

    @Excel(name = "系统险种代码")
    private String insCodeL;

    @Excel(name = "供应商险种代码")
    private String insCodeS;

    @Excel(name = "系统险种名称")
    private String riskNameL;

    @Excel(name = "供应商险种名称")
    private String riskNameS;

    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "系统承保日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date insureDateL;

    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "供应商承保日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date insureDateS;

    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "系统回执日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date custAckDateL;

    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "供应商回执日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date custAckDateS;

    @Excel(name = "系统缴费期限")
    private String chargePeriodValueL;

    @Excel(name = "供应商缴费期限")
    private String chargePeriodValueS;

    @Excel(name = "系统保单年度")
    private Long policyYearL;

    @Excel(name = "保单所在年度")
    private Long policyYearS;

    @Excel(name = "系统保费")
    private BigDecimal premL;

    @Excel(name = "供应商保费")
    private BigDecimal premS;

    //不显示系统手续费字段
    @Excel(name = "系统手续费（元）")
    private BigDecimal feeL;

    @Excel(name = "系统保单缴费次数")
    private Long payNumL;

    @Excel(name = "供应商保单缴费次数")
    private Long payNumS;

    @Excel(name = "核对结果", dictType = "recn_check_result", readConverterExp = "LS=短账,SL=长账,L_SUCCESS=平账")
    private String recnCheckResult;

    @Excel(name = "处理结果", dictType = "recn_handling_result", readConverterExp = "A=以供应商为准,B=以系统为准,C=忽略不处理")
    private String recnHandlingResult;

    @Excel(name = "手续费是否一致", dictType = "sys_yes_no", readConverterExp = "Y=是,N=否")
    private String isFeeEq;
}
